# Client List
Creates or updates a client record in the SharePoint client list by processing rows from an Excel or JSON file.
Filename pattern: filename must contain clientlist (case-insensitive).
Examples: 20240115 clientlist import.xlsx, 20240115 clientlist.json
# Columns
| Name | Required | Description |
|---|---|---|
| ClientCode / Code | Yes | Unique identifier for the client. Used to look up an existing record or create a new one. |
| ClientID / ExternalID | No | External system ID for the client. |
| ClientName | No | Display name of the client. Used to construct the list item title via the configured ClientListTitleFormat. |
| Title | No | Overrides the computed title if provided directly. |
| SiteUrl | No | URL of the client's SharePoint site. Updates the value in the client list even when the field already has a value. |
| __Code__ | No | Renames the client's Code field to this value after the row is matched to an existing record. Use this instead of ClientCode/Code when the client's code has changed and the row must still match the existing record by its current ClientCode/Code or ClientID/ExternalID. |
| __ExternalID__ | No | Renames the client's ExternalID field to this value after the row is matched. Same in-place rename behavior as __Code__, applied to the external ID instead. |
| Properties | No | Any additional columns are collected as properties and set as fields on the list item, except columns with a __ prefix (other than __Code__/__ExternalID__ above) — those are never written. See Match-only properties. |
ClientCode (or its alias Code) is always required.
Note: Including a blank
SiteUrlcell will clear any existing value. To leave the existing value untouched, omit theSiteUrlcolumn entirely.
# JSON format
A JSON file must contain a flat key/value object. Recognized keys: ClientCode (or Code), ClientID (or ExternalID), ClientName, Title, Folder. All other keys are treated as metadata fields. ClientCode or Code is required.
# Behavior
Looks up the client record by ClientCode in the client list. If a record exists it is updated; if not, a new record is created. If Title is not provided, the title is computed from ClientName using the ClientListTitleFormat and ClientListTitleFormatCustom settings in SettingsCfg.Provisioning. All extra columns are set as metadata fields on the list item, except __-prefixed columns (see the Columns table above).
Renaming a code or external ID: __Code__ and __ExternalID__ are match-independent — the row is still matched using ClientCode/Code or ClientID/ExternalID as usual, but after the existing record is found, its Code or ExternalID field is overwritten with the __Code__/__ExternalID__ value. This lets a single row rename a client's code or external ID in place, without a separate step to change the value used for matching.
# Related links
- Matter List handler — create or update matter list entries
- Client Matter handler — create both client and matter structure in one operation